home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 7: Sunsite / Linux Cubed Series 7 - Sunsite Vol 1.iso / system / network / daemons / nfs / nfs-serv.2be / nfs-serv / nfs-server-2.2beta16 / aclocal.m4 < prev    next >
Encoding:
M4 Source File  |  1995-09-04  |  6.0 KB  |  216 lines

  1. dnl aclocal.m4 -- custom autoconf macros for the Universal NFS server
  2. dnl Updated for Autoconf v2
  3. dnl
  4. dnl *********** rpcgen.new ***************
  5. define(AC_PROG_RPCGEN,
  6. [AC_PROGRAMS_CHECK(RPCGEN, rpcgen.new rpcgen, rpcgen)])dnl
  7. dnl
  8. dnl *********** rpcgen -C ****************
  9. define(AC_RPCGEN_C,
  10.   [AC_MSG_CHECKING(for rpcgen -C)
  11.   AC_CACHE_VAL(nfsd_cv_prog_RPCGEN_C,
  12.   [if $RPCGEN -C -c </dev/null >/dev/null 2>/dev/null
  13.   then
  14.     nfsd_cv_prog_RPCGEN_C=yes
  15.   else
  16.     nfsd_cv_prog_RPCGEN_C=no
  17.   fi])dnl
  18.   AC_MSG_RESULT($nfsd_cv_prog_RPCGEN_C)
  19.   if test $nfsd_cv_prog_RPCGEN_C = yes; then
  20.     RPCGEN_C=-C
  21.   fi
  22.   AC_SUBST(RPCGEN_C)
  23.   test -n "$RPCGEN_C" && AC_DEFINE(HAVE_RPCGEN_C)
  24. ])dnl
  25. dnl
  26. dnl *********** rpcgen -I ****************
  27. define(AC_RPCGEN_I,
  28.   [AC_MSG_CHECKING(for rpcgen -I)
  29.   AC_CACHE_VAL(nfsd_cv_prog_RPCGEN_I,
  30.   [if $RPCGEN -I -c </dev/null >/dev/null 2>/dev/null
  31.   then
  32.     nfsd_cv_prog_RPCGEN_I=yes
  33.   else
  34.     nfsd_cv_prog_RPCGEN_I=no
  35.   fi
  36.   ]) dnl
  37.   AC_MSG_RESULT($nfsd_cv_prog_RPCGEN_I)
  38.   if test $nfsd_cv_prog_RPCGEN_I = yes; then
  39.     RPCGEN_I=-I
  40.   fi
  41.   AC_SUBST(RPCGEN_I)
  42.   test -n "$RPCGEN_I" && AC_DEFINE(HAVE_RPCGEN_I)
  43. ])dnl
  44. dnl *********** xdrproc_t ****************
  45. define(AC_XDRPROC_T,
  46.   [AC_MSG_CHECKING(for xdrproc_t)
  47.   AC_CACHE_VAL(nfsd_cv_type_xdrproc_t,
  48.   [AC_EGREP_HEADER(xdrproc_t, rpc/xdr.h,
  49.     nfsd_cv_type_xdrproc_t=yes, nfsd_cv_type_xdrproc_t=no)
  50.   ]) dnl
  51.   AC_MSG_RESULT($nfsd_cv_type_xdrproc_t)
  52.   test $nfsd_cv_type_xdrproc_t = yes && AC_DEFINE(HAVE_XDRPROC_T)
  53. ])dnl
  54. dnl
  55. dnl *********** mountlist ****************
  56. define(AC_MOUNTLIST,
  57.   [AC_MSG_CHECKING(how to get list of mounted filesystems)
  58.   AC_CACHE_VAL(nfsd_cv_func_mountlist,
  59.     [mounted=
  60.  
  61.     # DEC Alpha running OSF/1.
  62.     AC_TRY_LINK([
  63.       #include <sys/types.h>
  64.       #include <sys/mount.h>
  65.       #include <sys/fs_types.h>],
  66.       [struct statfs *stats;
  67.       numsys = getfsstat ((struct statfs *)0, 0L, MNT_WAIT); ],
  68.       nfsd_cv_func_mountlist=getfsstat mounted=1)
  69.     if test -z "$mounted"; then
  70.     # SVR4
  71.     AC_HEADER_EGREP(getmntent, sys/mnttab.h,
  72.       nfsd_cv_func_mountlist=getmntent2 mounted=1)
  73.     fi
  74.     if test -z "$mounted"; then
  75.     # AIX.
  76.     AC_TEST_CPP([#include <fshelp.h>], 
  77.       nfsd_cv_func_mountlist=vmount mounted=1)
  78.     fi
  79.     if test -z "$mounted"; then
  80.     # SVR3
  81.     AC_TEST_CPP([#include <sys/statfs.h>
  82.       #include <sys/fstyp.h>
  83.       #include <mnttab.h>], 
  84.       nfsd_cv_func_mountlist=fread_fstyp mounted=1)
  85.     fi
  86.     if test -z "$mounted"; then
  87.     # 4.3BSD
  88.     AC_TEST_CPP([#include <mntent.h>], 
  89.       nfsd_cv_func_mountlist=getmntent1 mounted=1)
  90.     fi
  91.     if test -z "$mounted"; then
  92.     # 4.4BSD and DEC OSF/1.
  93.     AC_HEADER_EGREP(f_type;, sys/mount.h,  
  94.       nfsd_cv_func_mountlist=getmntinfo mounted=1)
  95.     fi
  96.     if test -z "$mounted"; then
  97.     # Ultrix
  98.     AC_TEST_CPP([#include <sys/fs_types.h>
  99.     #include <sys/mount.h>],
  100.       nfsd_cv_func_mountlist=getmnt mounted=1)
  101.     fi
  102.     if test -z "$mounted"; then
  103.     # SVR2
  104.     AC_TEST_CPP([#include <mnttab.h>],
  105.       nfsd_cv_func_mountlist=fread mounted=1)
  106.     fi
  107.     if test -z "$mounted"; then
  108.       nfsd_cv_func_mountlist=unknown
  109.     fi
  110.   ]) dnl
  111.   AC_MSG_RESULT($nfsd_cv_func_mountlist)
  112.   case $nfsd_cv_mountlist in
  113.     fread_fstyp) AC_DEFINE(MOUNTED_FREAD_FSTYP);;
  114.     getfsstat)     AC_DEFINE(MOUNTED_GETFSSTAT);;
  115.     getmnt)     AC_DEFINE(MOUNTED_GETMNT);;
  116.     getmntent1)     AC_DEFINE(MOUNTED_GETMNTENT1);;
  117.     getmntent2)     AC_DEFINE(MOUNTED_GETMNTENT2);;
  118.     getmntinfo)     AC_DEFINE(MOUNTED_GETMNTINFO);;
  119.     vmount)     AC_DEFINE(MOUNTED_VMOUNT);;
  120.   esac
  121. ])dnl
  122. dnl *********** FS usage *****************
  123. define(AC_FSUSAGE,
  124.   [AC_MSG_CHECKING(how to get filesystem space usage)
  125.   AC_CACHE_VAL(nfsd_cv_func_statfs,
  126.     [space= 
  127.     
  128.     # DEC Alpha running OSF/1
  129.     AC_TEST_PROGRAM([
  130.       #include <sys/types.h>
  131.       #include <sys/mount.h>
  132.       main ()
  133.       {
  134.       struct statfs fsd;
  135.       exit (statfs (".", &fsd, sizeof (struct statfs)));}
  136.     ], nfsd_cv_func_statfs=OSF1 space=1)
  137.   
  138.     # SVR4
  139.     if test -z "$space"; then
  140.       AC_TEST_CPP([#include <sys/statvfs.h>
  141.         #include <sys/fstyp.h>], nfsd_cv_func_statfs=statvfs space=1)
  142.     fi
  143.   
  144.     # AIX
  145.     if test -z "$space"; then
  146.       AC_HEADER_EGREP(f_nlsdirtype, sys/statfs.h, 
  147.         nfsd_cv_func_statfs=statfs2_bsize space=1)
  148.     fi
  149.   
  150.     # SVR3
  151.     if test -z "$space"; then
  152.       AC_TEST_CPP([#include <sys/statfs.h>], 
  153.         nfsd_cv_func_statfs=statfs4 space=1)
  154.     fi
  155.   
  156.     # 4.3BSD
  157.     if test -z "$space"; then
  158.       AC_TEST_CPP([#include <sys/vfs.h>],
  159.         nfsd_cv_func_statfs=statfs2_bsize space=1)
  160.     fi
  161.   
  162.     # 4.4BSD
  163.     if test -z "$space"; then
  164.       AC_HEADER_EGREP(MOUNT_UFS, sys/mount.h,
  165.         nfsd_cv_func_statfs=statfs2_fsize space=1)
  166.     fi
  167.   
  168.     # SVR2
  169.     if test -z "$space"; then
  170.       AC_TEST_CPP([#include <sys/filsys.h>],
  171.         nfsd_cv_func_statfs=read space=1)
  172.     fi
  173.   
  174.     # Ultrix
  175.     if test -z "$space"; then
  176.       AC_TEST_CPP([#include <sys/mount.h>],
  177.         nfsd_cv_func_statfs=statfs2_fs_data space=1)
  178.     fi
  179.   
  180.     if test -z "$space"; then
  181.       nfsd_cv_func_statfs=unknown
  182.     fi
  183.     ]) dnl
  184.     AC_MSG_RESULT($nfsd_cv_func_statfs)
  185.     case $nfsd_cv_func_statfs in
  186.     OSF1)        AC_DEFINE(STATFS_OSF1);;
  187.     read)        AC_DEFINE(STAT_READ);;
  188.     statfs2_bsize)    AC_DEFINE(STAT_STATFS2_BSIZE);;
  189.     statfs2_fs_data)    AC_DEFINE(STAT_STATFS2_FS_DATA);;
  190.     statfs2_fsize)    AC_DEFINE(STAT_STATFS2_FSIZE);;
  191.     statfs4)        AC_DEFINE(STAT_STATFS4);;
  192.     statvfs)        AC_DEFINE(STAT_STATVFS);;
  193.     esac
  194. ])dnl
  195. dnl *********** libwrap bug **************
  196. define(AC_LIBWRAP_BUG,
  197.   [if test -f site.mk; then
  198.     . site.mk
  199.   fi
  200.   if test ! -z "$LIBWRAP_DIR"; then
  201.     AC_MSG_CHECKING(for link problem with libwrap.a)
  202.     AC_CACHE_VAL(nfsd_cv_lib_wrap_bug,
  203.       [OLDLIBS=$LIBS
  204.       LIBS="$LIBS $LIBWRAP_DIR $LIBWRAP_LIB"
  205.       AC_TRY_LINK([
  206.         extern int deny_severity;
  207.       ],[
  208.         deny_severity=1;
  209.       ], nfsd_cv_lib_wrap_bug=no, nfsd_cv_lib_wrap_bug=yes)
  210.     ]) dnl
  211.     AC_MSG_RESULT($nfsd_cv_lib_wrap_bug)
  212.     test $nfsd_cv_lib_wrap_bug = yes && AC_DEFINE(HAVE_LIBWRAP_BUG)
  213.     LIBS=$OLDLIBS
  214.   fi
  215. ])dnl
  216.